const express =require('express');
const aaa = express.Router();
const noteModel = require('../db/model/noteModel');
const userModel = require('../db/model/userModel');
const verifyFn = require('../middlewares/verify');
const md5 = require('md5');

// 获取笔记数据列表
aaa.get('/getlist',(req,res)=>{
    noteModel.find().then(val=>{
        res.json({
            code:200,
            data:val,
            message:"获取数据成功"
        })
    })
});

aaa.post('/addnote',verifyFn,(req,res)=>{
    
    // 接收请求数据
    // console.log(req.body);
    let {title,content} = req.body;

    // 提交到数据库
    noteModel.create({
        title,
        content
    }).then(val=>{
        console.log(val);
        res.send('成功');
    })

})

aaa.get('/delnote/:_id',(req,res)=>{
    
    // 获取到要删除的数据id
    let {_id} = req.params;
    console.log(_id)
    noteModel.deleteOne({_id}).then(val=>{
        res.send({
            code:200,
            message:"删除成功"
        });
    })
})

aaa.post('/updatenote',(req,res)=>{

    // 获取到表单数据
    let {id,title,content} = req.body;

    // 修改？ 修改哪条？
    noteModel.updateOne({_id:id},{
        title,
        content
    }).then(val=>{
        // console.log(val);
        res.send('修改成功');
    })
})

// 注册用户路由
aaa.post('/register',(req,res)=>{
    // 获取到前端发来的数据
    let {username,pwd} = req.body;

    userModel.find({username}).then(val=>{
        if(val.length){
            // res.send("抱歉，您注册的用户名已被占用");
            res.json({
                code:201,
                message:"抱歉，您注册的用户名已被占用"
            })
        }else{
            // 对象模型 - 
            userModel.create({
                username,
                pwd:md5(pwd)
            }).then(val=>{
                // res.send('注册成功')
                res.json({
                    code:200,
                    message:"注册成功"
                })
            })
        }
    })
})

// 登录路由
aaa.post('/login',(req,res)=>{

    // 获取到发送来的数据
    let {username,pwd} = req.body;

    userModel.find({username:username,pwd:md5(pwd)}).then(val=>{
        // console.log(val.length);
        // res.send('长度'+ val.length);

        if(val.length){
            // 登录成功
            // 注册session
            req.session.username = username;
            req.session.userid = val[0]._id;

            res.json({
                code:200,
                message:"登录成功",
                key:md5(username)
            });
        }else{
            res.json({
                code:304,
                message:"登录失败，请检查账号密码"
            })
        }
    })


})

// 退出登录
aaa.get('/logout',(req,res)=>{
    req.session.destroy(()=>{
        res.send('退出成功');
    })
});

module.exports = aaa;